﻿$(function () {
    $("#btnReg").click(function () {
        var userName = $.trim($("#userName").val());
        var psw = $("#password").val();
        var psw2 = $("#password2").val();
        var nickName = $.trim($("#nickName").val());

        var result1 = chkEmail(userName);
        if (result1 != 1) {
            $("#userName").addClass("ipt-err");
            return false;
        }

        var result2 = chkPsw(psw, psw2);
        if (result2 != 1) {
            return false;
        }

        var result3 = chkNickName(nickName);
        if (result3 != 1) {
            $("#nickName").addClass("ipt-err");
            return false;
        }
    });

    $("#userName").blur(function () {
        var userName = $.trim($(this).val());
        if (chkEmail(userName) == 1) {
            var el = $("#userName ~ span:first");
            el.text("正在检查邮箱是否可用...").removeClass().addClass("tips");
            $.post("/home/checkusername", { rnum: Math.random(), userName: userName }, function (data, status) {
                if (data.result) {
                    el.text("邮箱已被注册").removeClass().addClass("tips_error");
                    $("#userName").addClass("ipt-err");
                }
                else {
                    el.text("邮箱可以注册").removeClass().addClass("tips_succ");
                    $("#userName").removeClass("ipt-err");
                }
            });
        }
    });

    $("#password").change(function () {
        var el = $("#password ~ span:first");
        var psw1 = $(this).val();
        if (psw1 == "") {
            el.text("请输入密码").removeClass().addClass("tips_error");
            $("#password").addClass("ipt-err");
        }
        else if (psw1.length < 3) {
            el.text("密码长度不能小于3位").removeClass().addClass("tips_error");
            $("#password").addClass("ipt-err");
        }
        else if (psw1.length > 15) {
            el.text("密码长度不能超过15位").removeClass().addClass("tips_error");
            $("#password").addClass("ipt-err");
        }
        else {
            el.text("").removeClass();
            $("#password").removeClass("ipt-err");
        }
    });

    $("#password2").change(function () {
        var el = $("#password2 ~ span:first");
        var psw1 = $("#password").val();
        var psw2 = $(this).val();
        if (psw2 == "") {
            el.text("请输入确认密码").removeClass().addClass("tips_error");
            $("#password2").addClass("ipt-err");
        }
        else if (psw1 != psw2) {
            el.text("两次输入的密码不一致").removeClass().addClass("tips_error");
            $("#password2").addClass("ipt-err");
        }
        else {
            el.text("").removeClass();
            $("#password2").removeClass("ipt-err");
        }
    });

    $("#nickName").blur(function () {
        var nickName = $.trim($(this).val());
        if (chkNickName(nickName) == 1) {
            var el = $("#nickName ~ span:first");
            el.text("正在检查昵称是否可用...").removeClass().addClass("tips");
            $.post("/home/checknickname", { rnum: Math.random(), nickName: nickName }, function (data, status) {
                if (data.result) {
                    el.text("该昵称已被使用，请重新输入").removeClass().addClass("tips_error");
                    $("#nickName").addClass("ipt-err");
                }
                else {
                    el.text("昵称可以使用").removeClass().addClass("tips_succ");
                    $("#nickName").removeClass("ipt-err");
                }
            });
        }
    });

    $("#btnSend").click(function () {
        $.post("/home/resendvalmail", {
            rnum: Math.random(),
            email: $("[name=email]").val()
        },
        function (data) {
            $(".vmsg").text(data.Msg);
            $(this).attr("disabled", true);
        });
    });
});

//检查用户名
function chkUserName(userName, showMsg) {
    var msg = "";
    var result = 0;
    if (userName == "") {
        msg = "请输入用户名";
        result = -1;
    }
    else if (userName.length < 3) {
        msg = "用户名长度不能小于3个字符";
        result = -2;
    }
    else if (userName.length > 15) {
        msg = "用户名长度不能超过15个字符";
        result = -3;
    }
    else if (/^\d.*$/.test(userName)) {
        msg = "用户名不能以数字开头";
        result = -4;
    }
    else if (!/^\w+$/.test(userName)) {
        msg = "用户名只能包含下划线，英文字母，数字";
        result = -5;
    }
    else if (!/^([a-z]|[A-Z])[0-9a-zA-Z_]+$/.test(userName)) {
        msg = "用户名只能英文字母开头";
        result = -6;
    }
    else if (!(/[0-9a-zA-Z]+$/.test(userName))) {
        msg = "用户名只能英文字母或数字结尾";
        result = -7;
    }
    else {
        result = 1;
    }
    if (showMsg) {
        $("#rmsg").text(msg);
    }
    return result;
}

//检查密码
function chkPsw(psw1, psw2) {
    var ela = $("#password ~ span:first");
    var elb = $("#password2 ~ span:first");
    var result = 0;
    if (psw1 == "") {
        $("#password").addClass("ipt-err");
        ela.text("请输入密码").removeClass().addClass("tips_error");
        result = -1;
    }
    else if (psw2 == "") {
        $("#password2").addClass("ipt-err");
        elb.text("请输入确认密码").removeClass().addClass("tips_error");
        result = -2;
    }
    else if (psw1 != psw2) {
        $("#password2").addClass("ipt-err");
        elb.text("两次输入的密码不一致").removeClass().addClass("tips_error");
        result = -3;
    }
    else if (psw1.length < 3) {
        $("#password").addClass("ipt-err");
        ela.text("密码长度不能小于3位").removeClass().addClass("tips_error");
        result = -4;
    }
    else if (psw1.length > 15) {
        $("#password").addClass("ipt-err");
        ela.text("密码长度不能超过15位").removeClass().addClass("tips_error");
        result = -5;
    }
    else {
        $("#password").removeClass("ipt-err");
        result = 1;
    }
    return result;
}

//检查邮箱
function chkEmail(email) {
    var result = 0;
    var el = $("#userName ~ span:first");
    if (email == "") {
        result = -1;
        el.text("请输入电子邮箱地址").removeClass().addClass("tips_error");
        $("#userName").addClass("ipt-err");
    }
    else if (!/^[a-zA-Z0-9_-]+@[a-zA-Z0-9_-]+(\.[a-zA-Z0-9_-]+)+$/.test(email)) {
        result = -2;
        el.text("邮箱地址格式不正确").removeClass().addClass("tips_error");
        $("#userName").addClass("ipt-err");
    }
    else {
        result = 1;
    }
    return result;
}

//检查昵称
function chkNickName(nname) {
    var result = 0;
    var el = $("#nickName ~ span:first");
    if (nname == "") {
        result = -1;
        el.text("请输入昵称").removeClass().addClass("tips_error");
        $("#nickName").addClass("ipt-err");
    }
    else if (nname.length < 2) {
        result = -2;
        el.text("请输入2个字符以上的昵称").removeClass().addClass("tips_error");
        $("#nickName").addClass("ipt-err");
    }
    else if (/^[0-9]+$/.test(nname)) {
        result = -3;
        el.text("昵称不能全是数字").removeClass().addClass("tips_error");
        $("#nickName").addClass("ipt-err");
    }
    else if (!/^[a-zA-Z0-9\u4e00-\u9fa5_-]+$/.test(nname)) {
        result = -4;
        el.text("仅支持中英文、数字、\"_\"和减号").removeClass().addClass("tips_error");
        $("#nickName").addClass("ipt-err");
    }
    else {
        result = 1;
    }
    return result;
}